﻿Public Class xtf_LISTADOAgrupacion_

    Public Overrides Sub IniciarLista()
        Try
            gdc_general.BeginUpdate()
            gdc_general.DataSource = dtt_DataTable
            'ulg_Lista.DisplayLayout.GroupByBox.Style = Infragistics.Win.UltraWinGrid.GroupByBoxStyle.Full

            'Creacion y carga de Cuentas
            dtt_DataTable.Columns.Add("Identificador (ID)")
            dtt_DataTable.Columns.Add("Nombre")
            dtt_DataTable.Columns.Add("Agrupador (ID)")
            dtt_DataTable.Columns.Add("Agrupador")

            gdv_general.PopulateColumns(dtt_DataTable)

            Dim obj_agrupacion_ As New cls_agrupacion_
            If obj_agrupacion_.CargarTodos(ObtenerRegistroEstado) Then
                For Each agrupacion As cls_agrupacion_ In obj_agrupacion_.Items
                    AgregarItem(agrupacion)
                Next
            End If
            'ulg_Lista.DataBind()

            FiltrarColumnas()
            gdc_general.EndUpdate()
        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Function AgregarItem(ByRef agrupacion As cls_agrupacion_) As DataRow
        If Not IsNothing(agrupacion.tercero) Then
            For Each ulg_row As DataRow In dtt_DataTable.Rows
                If ulg_row("Agrupador (ID)") = agrupacion.tercero.idtercero Then
                    ulg_row("Agrupador (ID)") = 0
                    ulg_row("Agrupador") = "Ninguno"
                End If
            Next
        End If

        Dim Row As DataRow = dtt_DataTable.NewRow
        Row("Identificador (ID)") = agrupacion.idagrupacion
        Row("Nombre") = agrupacion.nombre
        If IsNothing(agrupacion.tercero) Then
            Row("Agrupador") = "Ninguno"
            Row("Agrupador (ID)") = "0"
        Else
            Row("Agrupador") = agrupacion.tercero.ToString
            Row("Agrupador (ID)") = agrupacion.tercero.idtercero
        End If

        dtt_DataTable.Rows.Add(Row)
        'ulg_Lista.Rows(ulg_Lista.Rows.Count - 1).Height = 19
        Return Row
    End Function

    Public Sub ModificarItem(ByRef agrupacion As cls_agrupacion_, ByRef ulg_row As DataRow)
        If Not IsNothing(agrupacion.tercero) Then
            For Each row As DataRow In dtt_DataTable.Rows
                If row("Agrupador (ID)") = agrupacion.tercero.idtercero Then
                    row("Agrupador (ID)") = 0
                    row("Agrupador") = "Ninguno"
                End If
            Next
        End If

        ulg_row("Identificador (ID)") = agrupacion.idagrupacion
        ulg_row("Nombre") = agrupacion.nombre
        If IsNothing(agrupacion.tercero) Then
            ulg_row("Agrupador") = "Ninguno"
            ulg_row("Agrupador (ID)") = "0"
        Else
            ulg_row("Agrupador") = agrupacion.tercero.ToString
            ulg_row("Agrupador (ID)") = agrupacion.tercero.idtercero
        End If
    End Sub

    Public Sub New()

        Me.Cursor = Cursors.WaitCursor
        InitializeComponent()
        PERMISONuevo = "001017002"
        PERMISOModificar = "001017003"
        PERMISOEliminar = "001017004"
        PERMISOImprimir = "001017005"
        Me.Text = lbl_modulo.Text : lbl_modulodescripcion.Text = "Listado de " & lbl_modulo.Text & "."
        IniciarLista()
        Me.Cursor = Cursors.Default

    End Sub

End Class